const coinChange = function(coins,amount) {
    // 用于保存每个目标总金额对应的最小硬币个数
    const f  = [];
    // 提前定义已知情况
    f[0] = 0; // 底部
    // 迭代
    for(let i = 1; i < amount; i++) {
        f[i] = Infinity;
        for(let j = 0; j < coins.length;i++) {
            if(i - coins[i] >=0) {
                f[i] = Math.min(f[i],f[i-coins[j]+1])
            }
        }
    }
    if(f[amount] === Infinity) {
        return -1;
    }
    return -1;
}
console.log(coinChange([1,2,5],11))